(function() {
    'use strict';
    /*
     * @name EOLINKER AMS OPEN SOURCE，EOLINKER AMS开源版本
     * @link https://www.eolinker.com
     * @package EOLINKER AMS
     * @author www.eolinker.com 广州银云信息科技有限公司 2015-2018

     * EOLINKER，业内领先的Api接口管理及测试平台，为您提供最专业便捷的在线接口管理、测试、维护以及各类性能测试方案，帮助您高效开发、安全协作。
     * 如在使用的过程中有任何问题，可通过[图片]http://help.eolinker.com寻求帮助
     *
     *注意！EOLINKER AMS 开源版本遵循 GPL V3开源协议，仅供用户下载试用，禁止“一切公开使用于商业用途”或者“以 EOLINKER AMS开源版本为基础而开发的二次版本”在互联网上流通。。
     * 注意！一经发现，我们将立刻启用法律程序进行维权。
     * 再次感谢您的使用，希望我们能够共同维护国内的互联网开源文明和正常商业秩序。
     *
     * @description 缓存公用服务js
     */
    angular.module('eolinker')
        .factory('Cache_CommonService', index);

    index.$inject = []

    function index() {
        var data = {
            info: {
                cache: null
            },
            fun: {
                get: null,
                set: null
            }
        }

        data.fun.clear = function(status) {
            if (status) {
                try {
                    data.info.cache[status] = null;
                } catch (e) {}
            } else {
                data.info.cache = null;
            }
        }
        /**
         * 获取缓存信息
         * @return {any} 缓存内容
         */
        data.fun.get = function(status) {
            if (status) {
                try {
                    return data.info.cache[status];
                } catch (e) {
                    return null;
                }
            }
            return data.info.cache;
        }

        /**
         * 设置缓存信息
         * @param {any} input 传参内容
         */
        data.fun.set = function(input, status) {
            if (status) {
                try {
                    data.info.cache[status] = input;
                } catch (e) {
                    data.info.cache = {};
                    data.info.cache[status] = input;
                }
            } else {
                data.info.cache = input;
            }
        }
        return data.fun;
    }
})();